/**
 * @description 分装axios请求的方法
 * @param {String} url 情趣地址，必传值
 * @param {Object} params  请求的url参数
 * @param {Object} data 请求的数据
 * @returns {axios}  返回axios数据
 * */
import axios from "axios";

let baseUrl = 'https://www.fastmock.site/mock/3275ceca9db331ecb1fd773bd84863fe/login';      // 这儿就是定义的公共请求接口地址
if (process.env.NODE_ENV === 'development') {
    baseUrl = 'https://www.fastmock.site/mock/3275ceca9db331ecb1fd773bd84863fe/login'           // 开发环境ip地址
} else if (process.env.NODE_ENV === 'debug') {
    baseUrl = 'http://localhost:8000/api'       // 测试环境ip地址
} else if (process.env.NODE_ENV === 'production') {
    baseUrl = 'https://www.fastmock.site/mock/3275ceca9db331ecb1fd773bd84863fe/login';       // 线上生产环境ip地址
}
const instance = axios.create({
    baseURL: baseUrl,
    timeout: 5000
})
instance.interceptors.request.use(
    function (config){
        console.group("全局请求拦截");
        console.log(config);
        console.groupEnd()
        return config
    },function (error){
        return Promise.reject(error)
    }
)
instance.interceptors.response.use(
    function (response){
        console.group("全局响应拦截");
        console.log(response);
        console.groupEnd()
        return response
    },function (error){
        return Promise.reject(error)
    }
)
//不进行eslint检查
// eslint-disable-next-line import/no-anonymous-default-export
export default class {
    static get(url, params={}) {
        return instance.get(url,{params})
    }

    static post(url, data) {
        return instance.post(url, data)
    }

    static del(url) {
        return instance.delete(url)
    }

    static put(url, data) {
        return instance.put(url, data)
    }
}
